#ifndef TREEGEN3D_H
#define TREEGEN3D_H
#include "treegen.h"

class TreeGen3D : public TreeGen
{
public:
    TreeGen3D();
    void genTree();
    void stupidGen(Bud *b, int depth);
    void iterateShadowB(Shadow2D *shadowGrid);
    void updateTree();
    void drawBud(Bud *b);

private:
    float3 findDirection();
    void chooseBudFate();
    void calculateBranchDiameter(Bud *b);
protected:
    virtual void initializeBud(Bud *b);
};

#endif // TREEGEN3D_H
